观看此文章的基础为已经有一些虚拟机基础和Linux命令基础。
准备工作 所需工具: 链接:https://pan.baidu.com/s/1d6Go7c4iNHcoxLBfEjhbkg?pwd=84fr 提取码:84fr
配置文件: (天翼云盘)https://cloud.189.cn/t/nAzUV3Y7Rzaa
新建三个文件夹。最好在磁盘预留30G左右空间用于安装三台虚拟机。
![在这里插入图片描述](https://img-blog.csdnimg.cn/b363cc0dce0846cf80f380d8df26c3f6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6LS66LS6Xw==,size_20,color_FFFFFF,t_70,g_se,x_16)
在VMWare WorkStation Pro中先新建主节点(master)
最好是最小安装版本的 ![在这里插入图片描述](https://img-blog.csdnimg.cn/8653fe9d9499470594b35cb1584d939d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6LS66LS6Xw==,size_20,color_FFFFFF,t_70,g_se,x_16)
先确认虚拟机是否可以联网 ping www.baidu.com (正常安装后可以联网) 如图所示可以联网,然后可以ctrl+c停掉 ![在这里插入图片描述](https://img-blog.csdnimg.cn/a7f566ce6d414d7381e1775985494520.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6LS66LS6Xw==,size_20,color_FFFFFF,t_70,g_se,x_16) 安装网络工具:yum install net-tools(会出现y/n的选项 输入yes即可)
输入 ifconfig 出现ip地址即可 ![在这里插入图片描述](https://img-blog.csdnimg.cn/674651e40b1c46f3907964f54a19272e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6LS66LS6Xw==,size_20,color_FFFFFF,t_70,g_se,x_16)
安装ssh服务:yum -y install openssh-server 、yum -y install openssh-clients ![在这里插入图片描述](https://img-blog.csdnimg.cn/7d2b4c13b072493b9425aa8b8759bf7a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6LS66LS6Xw==,size_20,color_FFFFFF,t_70,g_se,x_16) 克隆master虚拟机(虚拟机右键管理有克隆选项,需要先把虚拟机关机) 克隆后的两台虚拟机分别为slave01 slave02 ![在这里插入图片描述](https://img-blog.csdnimg.cn/ff9916bd125649a2930fdcc2f34aeca7.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6LS66LS6Xw==,size_20,color_FFFFFF,t_70,g_se,x_16) 克隆完成后,将三台虚拟机进行开机登录操作,并输入 ifconfig 查看ip并单独记录下来 ![在这里插入图片描述](https://img-blog.csdnimg.cn/9213142f422d49cf92f5ba34bb90c880.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6LS66LS6Xw==,size_20,color_FFFFFF,t_70,g_se,x_16) 安装Xshell工具 ![在这里插入图片描述](https://img-blog.csdnimg.cn/2800441fe3ca46fbb1fa162c0e524b18.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6LS66LS6Xw==,size_20,color_FFFFFF,t_70,g_se,x_16) 使用Xshell去远程连接虚拟机(三台都要连接) ![在这里插入图片描述](https://img-blog.csdnimg.cn/023dcbec747b4db18d7ec0519dc1ba00.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6LS66LS6Xw==,size_20,color_FFFFFF,t_70,g_se,x_16)
注意:从接下来的步骤开始,后续会有三个虚拟机都执行的命令,三个虚拟机都执行的命令我用加粗斜体表示。
设置Xshell公共执行命令窗口: 关闭防火墙(三台虚拟机都执行):systemctl stop firewalld.service 禁止firewall开机启动(三台虚拟机都执行):systemctl disable firewalld.service 分别修改主机名(三台虚拟机都执行): vi /etc/hostname 将其修改成 master slave01 slave02 重启后输入hostname生效 配置 /etc/hosts文件,追加以下内容(三台虚拟机都执行) 命令为 vi /etc/hosts : 192.168.91.131 master ----->前面一定要是你的虚拟机名称所对应的ip地址 192.168.91.132 slave01 192.168.91.133 slave02 生成公钥和私钥并设置无密码登录 (1)生成公钥和私钥(三台虚拟机都执行) ssh-keygen -t rsa 一路回车即可(三次回车) (2)将公钥追加到到authorized_keys中并赋予authorized_keys 600权限(三台虚拟机都执行): cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys (3)将master节点上的authoized_keys远程传输到slave01和slave02的~/.ssh/目录下(仅在master虚拟机执行) scp /root/.ssh/authorized_keys root@slave01:/root/.ssh/ scp /root/.ssh/authorized_keys root@slave02:/root/.ssh/ (4)验证无密码登录 : ssh slave01 不需要输入密码即可登录 exit:退出 (master虚拟机执行) 配置Java环境(此步骤要在master虚拟机中执行) (1)安装jdk和hadoop 使用 winscp 进行传输(master虚拟机执行) (2)在master虚拟机上创建一个software目录 cd/opt/ mkdir software (3)使用winscp连接到master虚拟机,将jdk和hadoop的压缩包传到/opt/software目录下 (4)在master中进行jdk的解压操作:tar zxvf jdk-8u241-linux-x64.tar.gz 修改文件名为: mv jdk1.8.0_241/ jdk1.8 (5)在master中配置jdk环境变量: vi /etc/profile 在末尾追加:
export JAVA_HOME=/opt/software/jdk1.8 export JRE_HOME=/opt/software/jdk1.8/jre CLASSPATH=.:$JRE_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export HADOOP_HOME=/opt/software/hadoop-2.6.5 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
(6)在master中刷新环境变量 source /etc/profile 验证是否安装成功: java -version 、javac 16. 配置hadoop环境(此步骤要在master虚拟机中执行) (1)解压hadoop:tar zxvf hadoop-2.6.5.tar.gz (2)解压后在hadoop安装目录下创建tmp、logs、hdfs、hdfs/name、hdfs/data五个文件夹 (3)使用winscp软件进行配置文件的更改:配置文件都在hadoop2.6.5/etc/hadoop下(注意修改后保存) ① hadoop-env.sh 修改第25行的 ${JAVA_HOME}为自己的jdk安装目录(/opt/software/jdk1.8) ② yarn-env.sh 修改第23行, 解注释(export JAVA_HOME=/home/y/libexec/jdk1.6.0/) 修改为自己的jdk安装目录(/opt/software/jdk1.8) ③ slaves 将localhost 改为slave01 slave02 ④ 配置 core-site.xml文件 ⑤ 配置hdfs-site.xml文件 ⑥ 配置yarn-site.xml文件 ⑦ 在master命令行中执行以下命令(在opt/software/hadoop-2.6.5/etc/hadoop/目录下执行) cd /opt/software/hadoop-2.6.5/etc/hadoop/ cp mapred-site.xml.template mapred-site.xml ⑧ 修改mapred-site.xml文件 (4)将master中配置好的环境通过scp命令传递给slave01和slave02 ① 在master中将software文件夹拷贝到slave01和slave02的opt目录下 scp -r /opt/software/ root@slave01:/opt/ scp -r /opt/software/ root@slave02:/opt/ ② 在master中将/etc/profile文件拷贝到slave01heslave02的/etc目录下 scp /etc/profile root@slave01:/etc/ scp /etc/profile root@slave02:/etc/ ③ 刷新slave01和slave02中的环境变量 验证java和hadoop是否配置成功(可以三台虚拟机都执行) source /etc/profile:刷新 java -version && java & javac:验证java环境变量 hadoop version:验证hadoop环境变量 (5)锁定时间同步(三台虚拟机都执行) ① 安装时间同步软件ntpdate yum -y install ntp ntpdate ② 和网络时间进行同步 ntpdate cn.pool.ntp.org ③ 把时间写入硬件进行锁定 hwclock --systohc (6)在master中进行格式化操作 ① 进入hadoop-2.6.5/bin目录 cd /opt/software/hadoop-2.6.5/bin/ ② 执行以下命令进行格式化: ./hdfs namenode -format
出现successfully formatted 表示成功如果没有成功,做以下操作: a. 检查并修改出错的配置文件(修改后一定要传给slave01和slave02一份) 将特定的配置文件传递给slave01或slave02: scp /opt/software/hadoop-2.6.5/etc/hadoop/mapred-site.xml root@slave02:/opt/software/hadoop-2.6.5/etc/hadoop/ b. 删除三个主机上的hdfs中的name和data文件夹(三台虚拟机都执行) cd /opt/software/hadoop-2.6.5 rm -rf hdfs/ c. 重新新建hdfs目录和hdfs/data 和hdfs/name 目录(三台虚拟机都执行) mkdir /opt/software/hadoop-2.6.5/hdfs mkdir /opt/software/hadoop-2.6.5/hdfs/data mkdir /opt/software/hadoop-2.6.5/hdfs/name d. 重新格式化(master中执行) ./hdfs namenode -format
启动集群服务(master中执行) (1)启动hdfs服务: ① 进入到特定目录 cd /opt/software/hadoop-2.6.5/sbin/ ② 启动hdfs服务 ./start-dfs.sh ③ 查看当前进程 jps ④ 出现以下结果代表集群启动成功:启动 master中输入jps出现 NameNode 和 SecondaryNameNode slave01 和 slave02中注入jps出现 DataNode (2)启动yarn服务 ① 进入到特定目录 cd /opt/software/hadoop-2.6.5/sbin/ ② 启动yarn服务 ./start-yarn.sh ③ 出现以下结果代表集群启动成功:启动 master中输入jps多了 ResourceManager slave01 和 slave02中注入jps多了 NodeManager (3) 同时启动hdfs和yarn服务:直接执行 hdfs-all.sh测试(访问相关网站) (1)访问http://192.168.216.129:50070 (2)访问:http://192.168.216.129:8088 到此就全部结束了!
HDFS常用命令: hdfs dfs -mkdir /test:在hdfs根目录创建一个名为test的空目录(hadoop fs -mkdir /test); hdfs dfs -ls /:查看根目录文件; hdfs dfs -put /opt/software/upload.txt /test:上传指定文件到hdfs指定目录; hdfs dfs -get /test/upload.txt /opt/software/:下载hdfs中指定文件到本地的指定目录。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/f76c69b730504926882158d13e153ef2.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6LS66LS6Xw==,size_20,color_FFFFFF,t_70,g_se,x_16)
开启、关闭集群操作:
开启VMware分别启动三台虚拟机使用xshell连接虚拟机开启集群 start-all.sh(只在master中执行) …关闭集群 stop-all.sh(只在master中执行)
|